using UnityEngine;
using System.Collections;

public class Contador : MonoBehaviour {

	private int linha;
	private int contAzul = 0;
	private int contVerde = 0;
	private int contVermelho = 0;
	private int contAmarelo = 0;
	private bool contarAzul = false;
	private bool contarVerde = false;
	private bool contarVermelho = false;
	private bool contarAmarelo = false;
	public static bool atualizarLinha = false;
	public static int contarCubosDescer = 0;

	// Use this for initialization
	void Start ()
	{
		for (int i = 0; i < 13; i++)
		{
			if (this.transform.position.y == Spawner.arrayPosCubosY[i])
			{
				linha = Spawner.arrayLinhas[i];
			}
		}

		Spawner.linhaVazia[linha] = true;
	}
	
	// Update is called once per frame
	void Update ()
	{
		if ((Spawner.cuboAzulcont[linha] == 6 ||
		     Spawner.cuboVerdecont[linha] == 6 ||
		     Spawner.cuboVermelhocont[linha] == 6 ||
		     Spawner.cuboAmarelocont[linha] == 6) &&
		     Spawner.tempoLinhas[linha] == 0 &&
		     Spawner.calcular == false)
		{
			Spawner.tempoLinhas[linha] = 6f;
		}

		if (Spawner.tempoLinhas[linha] > 0.25f)
		{
			Spawner.tempoLinhas[linha] -= 0.25f;
		}

		if (Spawner.tempoLinhas[linha] == 0.25f)
		{
			Spawner.verificar[linha] = true;
			Spawner.descida = true;
			cubosCair();
			Spawner.cubosDescer = (contarCubosDescer - Spawner.cubosDescendo);
			//Spawner.cubosDescendo = 0;

			//Debug.Log (contarCubosDescer);
		}
	}

	void cubosCair()
	{
		contarCubosDescer = 0;
		for (int i = 0; i < 14; i++)
		{
			if (i > linha)
			{
				contarCubosDescer += Spawner.contarCubos[i];
			}
		}
	}

//	void OnTriggerEnter2D (Collider2D other)
//	{
//		if (Spawner.cuboAzulcont[linha] < 6 &&
//		    (other.gameObject.tag == "Cubo_Mov_Azul" ||
//		     other.gameObject.tag == "Cubo_Azul"))
//		{
//			Spawner.cuboAzulcont[linha] += 1;
//			contarLinha();
//
//			Debug.Log ("TRUE");
//		}
//		if (Spawner.cuboVerdecont[linha] < 6 &&
//		    (other.gameObject.tag == "Cubo_Mov_Verde" ||
//		     other.gameObject.tag == "Cubo_Verde"))
//		{
//			Spawner.cuboVerdecont[linha] += 1;
//			contarLinha();
//
//			Debug.Log ("TRUE");
//		}
//		if (Spawner.cuboVermelhocont[linha] < 6 &&
//		    (other.gameObject.tag == "Cubo_Mov_Vermelho" ||
//		     other.gameObject.tag == "Cubo_Vermelho"))
//		{
//			Spawner.cuboVermelhocont[linha] += 1;
//			contarLinha();
//
//			Debug.Log ("TRUE");
//		}
//		if (Spawner.cuboAmarelocont[linha] < 6 &&
//		    (other.gameObject.tag == "Cubo_Mov_Amarelo" ||
//		     other.gameObject.tag == "Cubo_Amarelo"))
//		{
//			Spawner.cuboAmarelocont[linha] += 1;
//			contarLinha();
//
//			Debug.Log ("TRUE");
//		}
//	}
//
//	void OnTriggerExit2D (Collider2D other)
//	{
//		if (Spawner.cuboAzulcont[linha] > 0 &&
//		    (other.gameObject.tag == "Cubo_Mov_Azul" ||
//		     other.gameObject.tag == "Cubo_Azul"))
//		{
//			Spawner.cuboAzulcont[linha] -= 1;
//			contarLinha();
//
//			Debug.Log ("FALSE");
//		}
//		if (Spawner.cuboVerdecont[linha] > 0 &&
//		    (other.gameObject.tag == "Cubo_Mov_Verde" ||
//		     other.gameObject.tag == "Cubo_Verde"))
//		{
//			Spawner.cuboVerdecont[linha] -= 1;
//			contarLinha();
//
//			Debug.Log ("FALSE");
//		}
//		if (Spawner.cuboVermelhocont[linha] > 0 &&
//		    (other.gameObject.tag == "Cubo_Mov_Vermelho" ||
//		     other.gameObject.tag == "Cubo_Vermelho"))
//		{
//			Spawner.cuboVermelhocont[linha] -= 1;
//			contarLinha();
//
//			Debug.Log ("FALSE");
//		}
//		if (Spawner.cuboAmarelocont[linha] > 0 &&
//		    (other.gameObject.tag == "Cubo_Mov_Amarelo" ||
//		     other.gameObject.tag == "Cubo_Amarelo"))
//		{
//			Spawner.cuboAmarelocont[linha] -= 1;
//			contarLinha();
//
//			Debug.Log ("FALSE");
//		}
//	}
}
